package com.dataset.manager.service;

import com.dataset.manager.model.Dataset;

import java.util.List;
import java.util.concurrent.CompletableFuture;

public interface DatasetService {
    
    /**
     * 创建数据集（异步操作）
     * @param name 数据集名称
     * @param description 数据集描述
     * @param sourceType 数据源类型
     * @param sourcePath 数据源路径
     * @return CompletableFuture<Dataset> 异步返回创建的数据集
     */
    CompletableFuture<Dataset> createDataset(String name, String description, String sourceType, String sourcePath);
    
    /**
     * 删除数据集
     * @param id 数据集ID
     * @return 是否删除成功
     */
    boolean deleteDataset(String id);
    
    /**
     * 获取所有数据集
     * @return 数据集列表
     */
    List<Dataset> listDatasets();
    
    /**
     * 根据ID获取数据集
     * @param id 数据集ID
     * @return 数据集对象
     */
    Dataset getDatasetById(String id);
}